/**
 * 
 */
package com.rhf.ui.gwt.client.view;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.uibinder.client.UiTemplate;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;

/**
 * @author fsau
 *
 */
public class SaisonViewImpl<T> extends Composite implements SaisonView<T> {
	
	@UiTemplate("SaisonView.ui.xml")
	interface SaisonViewUiBinder extends UiBinder<Widget, SaisonViewImpl> {
		// Rien à faire ...
	}
	
	private Presenter<T> presenter;
	
	public void setPresenter(Presenter<T> presenter) {
		this.presenter = presenter;
	}
	
	private static SaisonViewUiBinder uiBinder = GWT.create(SaisonViewUiBinder.class);
	
	@UiField Button ajouterSaisonButton;
	@UiField Button modifierSaisonButton;
	
	@UiHandler("ajouterSaisonButton")
	public void onAjouterSaisonButton(ClickEvent event) {
		if (this.presenter != null) {
			this.presenter.onAjouterSaisonButtonClicked();
		}		
	}
	
	@UiHandler("modifierSaisonButton")
	public void onModifierSaisonButton(ClickEvent event) {
		if (this.presenter != null) {
			this.presenter.onSupprimerSaisonButtonClicked();
		}
	}

	/*
	 * (non-Javadoc)
	 * @see com.rhf.ui.gwt.client.view.SaisonView#asWidget()
	 */
	public Widget asWidget() {
		return this;
	}

}
